from rest_framework import permissions

class IsAdminOrReadOnly(permissions.BasePermission):
    """
    管理员可以执行所有操作，普通用户只能查看和上传，不能删除
    """
    def has_permission(self, request, view):
        # 所有已认证用户都可以查看和上传
        if request.method in permissions.SAFE_METHODS or request.method == 'POST':
            return True
        # 删除操作仅允许管理员
        return request.user and request.user.role == 'admin'